L2-017 人以群分
思路分析
代码实现
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
using ll = long long;
using ull = unsigned long long;
using PII = pair<int,int>;
using Pll = pair<ll,ll>;
int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};
const int inf = 0x3f3f3f3f;
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int n;cin>>n;
vector<int> nums(n);
for(int i=0;i<n;i++){
cin>>nums[i];
}
sort(nums.begin(),nums.end());
int mid=n/2;
if(n%2==0){
ll suml=0,sumr=0;
for(int i=0;i<mid;i++)
suml+=nums[i];
for(int i=mid;i<n;i++)
sumr+=nums[i];
cout<<"Outgoing #: "<<mid<<endl
<<"Introverted #: "<<mid<<endl
<<"Diff = "<<abs(sumr-suml);
}else{
ll suml=0,sumr=0;
for(int i=0;i<=mid-1;i++)
suml+=nums[i];
for(int i=mid+1;i<n;i++)
sumr+=nums[i];
ll addl=suml+nums[mid];
ll addr=sumr+nums[mid];
if(abs(addl-sumr) > abs(suml-addr)){
cout<<"Outgoing #: "<<mid<<endl
<<"Introverted #: "<<mid+1<<endl
<<"Diff = "<<abs(addl-sumr);
}else{
cout<<"Outgoing #: "<<mid+1<<endl
<<"Introverted #: "<<mid<<endl
<<"Diff = "<<abs(suml-addr);
}
}
return 0;
}
同类题型
视频讲解
⬅️ L2-016 愿天下有情人都是失散多年的兄妹 🏠 00-天梯赛 ➡️ L2-018 多项式A除以B
💬 评论